package minix.pages;

import java.util.ArrayList;
import java.util.List;

import minix.entities.Artikkel;
import minix.entities.Bilde;

import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.hibernate.annotations.CommitAfter;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.hibernate.Session;
import org.hibernate.criterion.Order;

/**
 * Start page of application pasienlosjen_web.
 */
public class Index {
	@Property
	private Artikkel artikkel;
	@Property
	private List<Artikkel> artikkler;
	@SuppressWarnings("unused")
	@Property
	private Bilde bilde;

	@Inject
	private Session session;

	@SuppressWarnings("unchecked")
	void onActivate() {
		artikkler = session.createCriteria(Artikkel.class).addOrder(Order.desc("id")).list();
		if (artikkler.size() > 0) {
			return;
		}
		opprettStartartikklerDersomDetIkkeErNoenArtikklerIDatabasen();
		artikkler = session.createCriteria(Artikkel.class).addOrder(Order.desc("id")).list();
	}

	@CommitAfter
	private void opprettStartartikklerDersomDetIkkeErNoenArtikklerIDatabasen() {

		if (session.createCriteria(Artikkel.class).list().size() == 0) {
			artikkler = new ArrayList<Artikkel>();

			artikkel = new Artikkel();
			artikkel.setOverskrift("Noe er på gang");
			artikkel
					.setTekst("Som du ser, så er det noe på gang her. Hjemmesiden til pasientlosjen er faktisk oppe. Mye funksjonalitet mangler, og medlemslistene er ikke akkurat oppdaterte, men ting er på vei :)");
			session.persist(artikkel);
			artikkel = new Artikkel();
			artikkel.setOverskrift("Hjemmesiden kjører hos onkel Google");
			artikkel
					.setTekst("Når dette vises, så betyr det at møkkakoden som siggen har trøkka sammen faktisk er akseptert og kjører. Hører vi milepæl?");
			artikkler.add(artikkel);
			session.persist(artikkel);
			artikkel = new Artikkel();
			artikkel.setOverskrift("Sikkerheten begynner å komme på plass");
			artikkel
					.setTekst("Da var en helt basic innlogging på plass. Tenker den blir byttet ut med en facebook innlogging (eller liknende) etterhvert, men det er jo en slik innlogging som var beskrevet i medlemsparagrafene. Neste steg: databasemorro");
			session.persist(artikkel);
		}
	}
}
